using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration; using Sispe.Entities;

namespace Sispe.Repository.Mapping
{
    public class GRADOMap : EntityTypeConfiguration<GRADO>
    {
        public GRADOMap()
        {
            // Primary Key
            this.HasKey(t => t.IdGrado);

            // Properties
            this.Property(t => t.Descripcion)
                .IsRequired()
                .HasMaxLength(350);

            this.Property(t => t.DenominacionEspecifica)
                .IsOptional()
                .HasMaxLength(200);

            this.Property(t => t.UniversidadInstitucion)
                .IsOptional()
                .HasMaxLength(100);

            this.Property(t => t.Pais)
                .IsOptional()
                .HasMaxLength(100);

            this.Property(t => t.FechaExpedicion)
                .IsOptional();

            // Table & Column Mappings
            this.ToTable("GRADO");
            this.Property(t => t.IdGrado).HasColumnName("IdGrado");
            this.Property(t => t.Descripcion).HasColumnName("Descripcion");
            this.Property(t => t.DenominacionEspecifica).HasColumnName("Denominacion_Especifica");
            this.Property(t => t.UniversidadInstitucion).HasColumnName("Universidad_Institucion");
            this.Property(t => t.Pais).HasColumnName("Pais");
            this.Property(t => t.FechaExpedicion).HasColumnName("Fecha_Expedicion");
        }
    }
}
